﻿/*******************************************************************************
 * You may amend and distribute as you like, but don't remove this header!
 *
 * PblReader provides the ability to read PowerBuilder PBL files to extract source code.
 * See http://pblreader.codeplex.com/ for details.
 *
 * Copyright (C) 2012  Wagner DosAnjos
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.

 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
 * See the GNU Lesser General Public License for more details.
 *
 * The GNU Lesser General Public License can be viewed at http://www.opensource.org/licenses/lgpl-license.php
 * If you unfamiliar with this license or have questions about it, here is an http://www.gnu.org/licenses/gpl-faq.html
 *
 * All code and executables are provided "as is" with no warranty either express or implied. 
 * The author accepts no liability for any damage or loss of business that this product may cause. 
 *******************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace Pbl.Reader
{
    public class PblEntryCollection : IEnumerable<PblEntry>
    {
        private Dictionary<string, PblEntry> _entries = new Dictionary<string, PblEntry>();

        public PblEntry this[string name]
        {
            get
            {
                PblEntry entry;

                if (!_entries.TryGetValue(name, out entry))
                {
                    entry = null;
                }

                return null;
            }

            set
            {
                _entries[name] = value;
            }
        }

        IEnumerator<PblEntry> IEnumerable<PblEntry>.GetEnumerator()
        {
            return _entries.Values.GetEnumerator();
        }

        IEnumerator IEnumerable.GetEnumerator()
        {
            return _entries.Values.GetEnumerator();
        }
    }
}
